题解 CF1068B 【LCM】 发表于 2019-03-04 | 更新于 2019-04-03 | 阅读次数: 19 蒟蒻先一看题,本来是被题目描述劝退的,后来一想,还是颓一会数论吧。 众所周知 A和B的LCM是A*B/GCD(A,B). 多么优美的式子,一看题目给的描述,LCM(A,B)B,嘿嘿嘿,小天才们应该已经想到什么了吧。 对!就是B/GCD(A,B); 那么这道题就是求B的约数了…. 我们知道,要得到B的约数,我们只要枚举到√B,所以也只有105 温馨提醒您 做题千万个,范围第一个。没有开long long ,爆T两行泪。复制123456789101112131415161718192021222324252627#include<bits/stdc++.h>#define int long long using namespace std;signed main(){ int b; cin>>b; int ans; if(b==1){puts("1");return 0;} if(b==2){puts("2");return 0;} for(register int i=1;i*i<=b;++i) { if(b%i==0) { if(i*i==b) { ans++; continue; } else { ans+=2; } } } cout<<ans;}